//
//  BasicDemo.c
//  CProject
//
//  Created by XMYY-19 on 2018/8/29.
//  Copyright © 2018年 黄小刚. All rights reserved.
//

#include "BasicDemo.h"



void func1(void) {
    
    int n;
    printf("input number\n");
    scanf("%d",&n);
    s(n);
    printf("n=%d\n",n);
}

void s(int n)
{
    int i;
    for(i=n-1;i>=1;i--)
        n=n+i;
    printf("n=%d\n",n);
}

int demo1(int n) {
    
    int f1 = 1;
    int f2 = 2;
    
    int f3 = 0;
    
    if (f1 == n) {
        f3 = f1;
    } else if (f2 == n) {
        f3 = f2;
    } else {
        
        for (int i = 2; i < n; i ++) {
            f3 = f1 + f2;
            f1 = f2;
            f2 = f3;
        }
        
    }
    
    return f3;
}

void demo0() {
    
    printf("aaaa\n");
    
    int i = 2, j = 3, k;
    
    k = i + j;
    
    {
        int k = 8;
        if (i = 3) {
            printf("%d",k);
        }
        else
        {
            printf("%d",j);
        }
    }
    
    printf("%d%d",i,k);
    
}

void scanInfo() {
    
    int i = 0X15;
    printf("i is %d \n",i);
    
    float x = 123.45e-2F;
    printf("x is %f \n",x);
    
    int j;
    scanf("aaaa%d", &j);
    
    printf("输出内容为:%d\n",j);
}

void ascII () {
    // 整数是以补码的形式转化为二进制代码存储在计算机中
    // 实数是以IEEE754标准转化为二进制代码存储在计算机中
    // 字符的本质实际也是与整数的存储方式相同
    
    // 林锐 <高质量C/C++编程>
    
    // 换行的准则 :如果代码的功能是相对独立的则要换行
    // 判断语句要成对出现
    /*
     if ()
     {
     
     }
     else
     {
     
     }
     */
    
    // 什么是字节:存储数据的单位，并且是硬件所能访问的最小单位。
    // PS：硬件上虽然是按位来存储的，但是CPU能控制或者访问的最小单位是字节
    // 内存存储的最小单位是位，但是CPU访问的最小单位是字节
    
    // char = 1字节
    // int    4字节
    // short  2字节
    // long   8字节
    // 1字节 = 8位
    
    // 不同类型数据转换涉及补码
    
    // 什么是ASCII码
    // ASCII码不是一个值，而是一个规定，它规定了不同的字符使用哪个整数值去表示的问题.它规定了
    //    'A' -- 65
    //    'B' -- 66
    //    'a' -- 97
    //    'b' -- 98
    //    '0' -- 48
}

void my16jinzhi() {
    
    int y = 47;
    
    printf("%x\n", y);
    printf("%X\n", y);
    printf("%#x\n", y);
    printf("%#X\n", y);
}


float getRes(int a, int b, int c) {
    // 取余运算符(%)要求被除数与除数必须是整数
    
    float delta;
    float x1;
    float x2;
    
    delta = b * b - 4 * a * c;
    
    if (delta > 0) {
        x1 = (-b + sqrt(delta)) / (2 * a);
        x2 = (-b - sqrt(delta)) / (2 * a);
        printf("有两个解");
        
    } else if (delta == 0 ) {
        x1 = (-b) / (2 * a );
        x2 = x1;
        printf("唯一解：,x1=x2=%f",x2);
    } else {
        printf("无解\n");
    }
    
    return 0;
}
